From ce52b7b13bd5941c7ba79dcf3d5408d03aaa41b9 Mon Sep 17 00:00:00 2001 From: alexmot Date: Mon, 15 Sep 2003 13:05:09 +0000 Subject: [PATCH] Fix memory leakage with GPX/XML extension tags --- gpsbabel/gpx.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gpsbabel/gpx.c b/gpsbabel/gpx.c index f9d82ba27..62c67b2fd 100644 --- a/gpsbabel/gpx.c +++ b/gpsbabel/gpx.c @@ -915,6 +915,8 @@ fprint_xml_chain( xml_tag *tag, const waypoint *wpt ) void free_gpx_extras( xml_tag *tag ) { xml_tag *next = NULL; + char **ap; + while ( tag ) { if (tag->cdata) { xfree(tag->cdata); @@ -929,8 +931,14 @@ void free_gpx_extras( xml_tag *tag ) xfree(tag->tagname); } if (tag->attributes) { - xfree(tag->attributes); + ap = tag->attributes; + + while (*ap) + xfree(*ap++); + + xfree(tag->attributes); } + next = tag->sibling; xfree(tag); tag = next; -- 2.30.2